#ifndef OBJECTIVE_FUNCTION_HH_
# define OBJECTIVE_FUNCTION_HH_

#include "variable.hh"

#include <vector>

class objective_function
{
public:
  enum direction {MAX, MIN};

  objective_function();
  objective_function(direction dir_);

  int get_dir() const;

  double get_coeff(const variable& v) const;

  void add_variable (const variable& var, double coeff);

  friend std::ostream& operator<< (std::ostream&, const objective_function& w);
  
protected:
  std::vector<std::pair<variable, double> > variables;

  direction dir;
};

#endif
